package edu.service;

import edu.vo.ScoreRatio;
import edu.vo.ID.ScoreRatioId;

import java.util.List;
import java.util.Optional;

public interface ScoreRatioService {
    /**
     * 保存成绩比例信息
     * @param scoreRatio 成绩比例对象
     * @return 保存后的成绩比例对象
     */
    ScoreRatio saveScoreRatio(ScoreRatio scoreRatio);

    /**
     * 根据ID获取成绩比例信息
     * @param id 成绩比例ID
     * @return 成绩比例对象的Optional包装
     */
    Optional<ScoreRatio> getScoreRatioById(ScoreRatioId id);

    /**
     * 获取所有成绩比例信息
     * @return 成绩比例列表
     */
    List<ScoreRatio> getAllScoreRatios();

    /**
     * 根据ID删除成绩比例信息
     * @param id 成绩比例ID
     */
    void deleteScoreRatioById(ScoreRatioId id);

    /**
     * 更新成绩比例信息
     * @param id 成绩比例ID
     * @param scoreRatio 新的成绩比例信息
     * @return 更新后的成绩比例对象
     */
    ScoreRatio updateScoreRatio(ScoreRatioId id, ScoreRatio scoreRatio);
}